knigifandomcom_ru-20200214-history
Модуль:InfoboxHelper
Документация к модулю: Это вспомогательный модуль для Шаблон:Инфобокс участника SW и представляет из себя 4 функции: 1. gender: знак Марса (мужчина), знак Венеры (женщина), или вопросительный знак (пол неизвестен) 2. prof: умения. Принимает: help (Wikia Helper), edit (Редактор), design (дизайнер), dev (Программист), admin (Администратор), blog (Блоги), staff (Wikia Staff), tem (Шаблоны), vstf (Volunteer Spam Task Force) Например, "blog staff tem edit" означает "Этот участник пишет блоги, он Wikia Staff, занимается шаблонами, а также он - редактор". Выводит блок с картинками соответствующих специальностей 3. skill: навыки участника. Принимает css, js, html, wikitext, bot, lua (как и функция prof, принимает несколько умений через пробел, но переводит в блоки с обозначениями) 4. lang: выводит блок с языком в вавилоне и с уровнем. Уровень может быть: ? (неизвестен), 0-5, n/N (родной язык). Например, "ru-n uk-N en-3 pl-?" означает: "Этот участник знает русский и украинский как родные, английский на третьем уровне, а также владеет польским на некотором уровне" local infohelp = {} function infohelp.gender(frame) local total local lg = string.lower(frame.args1) if lg "man" or lg "m" or lg "male" or lg "мужчина" or lg "муж" or lg "м" then total = "25px|Мужчина" elseif lg "woman" or lg "w" or lg "f" or lg "female" or lg "женщина" or lg "жен" or lg "ж" then total = "25px|Женщина" end return total end function infohelp.prof(frame) local abilities = mw.text.split(frame.args1, "%s+") local total = "" local border = '' for i, v in ipairs(abilities) do local lv = string.lower(v) if lv "forum/chat" or lv "форум/чат" or lv "f/c" or lv "ф/ч" then total = total..border..' Форум/Чат|35px Форум/чат '..'' elseif lv "help" or lv "helper" or lv "помощник" or lv "хелп" then total = total..border..' Помощник|35px Helper '..'' elseif lv "edit" or lv "editor" or lv "редактор" or lv "с" then total = total..border..' Редактор/Создатель статей|35px Статьи '..'' elseif lv "design" or lv "designer" or lv "дизайн" or lv "дизайнер" or lv "д" then total = total..border..' Дизайнер/Художник|35px Дизайн '..'' elseif lv "dev" or lv "code" or lv "develop" or lv "script" or lv "developer" or lv "п" or lv "программист" or lv "разработчик" then total = total..border..' Программист|35px Кодер '..'' elseif lv "admin" or lv "administrator" or lv "админ" or lv "администратор" or lv "а" then total = total..border..' Администратор|35px Админ '..'' elseif lv "blog" or lv "blogger" or lv "блоги" or lv "блоггер" or lv "б" then total = total..border..' Блоги|35px Блоги '..'' elseif lv "staff" or lv "стафф" or lv "сотрудник" then total = total..border..' Сотрудник Викия|35px Staff '..'' elseif lv "tem" or lv "temp" or lv "template" or lv "ш" or lv "шаблоны" then total = total..border..' Шаблоны|35px Шаблоны '..'' elseif lv "vstf" or lv "vstf" then total = total..border..' Волонтёр в борьбе со спамом|35px VSTF '..'' end if i % 5 0 then total = total.." " end end return " "..total.." " end function infohelp.skill(frame) local block = '" style="border: 1px solid #6C93B1; background: white; width: 40px; padding:10px 0; color: #6C93B1; font-size: 13px; display: inline-block; margin: 1px 2px;">' local ennd = '' local start = ' "..lvl2....ennd elseif v "css" then total = total..start.."Этот участник владеет CSS"..lvl..block..".CSS"..lvl2....ennd elseif v "js" or v "javascript" then total = total..start.."Этот участник владеет JavaScript"..lvl..block.."{JS;}"..lvl2....ennd elseif v "wikitext" or v "wt" or v "викитекст" or v "разметка" or v "вики-разметка" or v "w" or v "wt" then total = total..start.."Этот участник владеет вики-разметкой"..lvl..block....mw.text.nowiki("W")..lvl2....ennd elseif v "bot" or v "бот" then total = total..start.."Этот участник имеет собственного бота"..block.."БОТ"..lvl2....ennd elseif v "lua" then total = total..start.."Этот участник владеет Lua"..lvl..block.."Lua"..lvl2..''..ennd end end return " "..total..' ' end function infohelp.lang(frame) local total = "" local langs = mw.text.split(frame.args1, "%s+") for i, v in ipairs(langs) do langsi = mw.text.split(v, "-") end for i, v in ipairs(langs) do if v2 "N" or v2 "n" then total = total.." "..string.upper(v1).." N — родной " elseif v2 "5" then total = total.." "..string.upper(v1).." Уровень 5 " elseif v2 "4" then total = total.." "..string.upper(v1).." Уровень 4 " elseif v2 "3" then total = total.." "..string.upper(v1).." Уровень 3 " elseif v2 "2" then total = total.." "..string.upper(v1).." Уровень 2 " elseif v2 "1" then total = total.." "..string.upper(v1).." Уровень 1 " elseif v2 "0" then total = total.." "..string.upper(v1).." Не владеет " elseif v2 "?" then total = total.." "..string.upper(v1).." Неизвестно " end end return ' '..total..' ' end return infohelp